Such networks are more and more used in domains other than data communications.
Industrial networks are currently an example of this application (e.g. Profinet standard, IEC standards on redundancy: HSR, PRP, MRP).
The evolution introduced by these technologies mainly focuses on the improvement of the resilience of these networks: protection against single failure without affecting the data transmission.
However, other constraints such as the enforcement of strict temporal properties of the data transmission cannot be implemented using standard Ethernet. More particularly, the transmission of control/command messages that requires tightly bounded latency and/or jitter is not properly addressed.
Several solutions have been developed and standardized in the transportation field, mainly in aeronautics: the Avionics Full-Duplex Switched Ethernet (AFDX, protocol ARINC 664 Part 7) and the technology TTEthernet (SAE AS6802). Both solutions rely on the addition of timing properties to the organization of the packet multiplex.
As for an example, AFDX defines a Bandwidth Allocation Gap (BAG), which fixes the maximum and guaranteed rate that data of a given flow can be sent at: the BAG sets the volume of data that a flow can transmit within a fixed time interval, as it can be seen on FIG. 1 which shows two examples of an AFDX traffic shaping according to the BAG. When setting the BAG rate for each flow, care is taken so as to provide enough bandwidth for other flows and the total bitrate cannot exceed the link capacity. The shaping according to the BAG is performed only in the sources and the multiplexing is then performed asynchronously in the downstream nodes. This technique does not provide tight bounds on jitter and transfer delays.
As for a second example, TTEthernet is based on a tight synchronization of the network nodes, and defines three types of traffic: Time-triggered (TT), Rate-constrained (RC) and Best-effort (BE).
TT messages are sent over the network according to a predefined static schedule that leverages the domain-wide synchronized clock. They take precedence over all other message types. The schedule defines a set of TT windows for each switch output port, in which TT frames are transmitted. Occurrence, temporal delay and precision of time-triggered messages are predefined and guaranteed.
RC messages are used for applications with less stringent determinism and real-time requirements. TT windows and a wide domain synchronised clock are used as inputs for the shaping algorithm that controls the RC traffic. The algorithm checks whether each frame transmission can be finished before the next TT window starts. If no frame fits, the transmitter remains idle until the transmission of the next scheduled TT frame begins. This idle time (called “guard band”) guarantees that RC frames (and BE frames also, as explained below) never interfere with TT frames. These messages guarantee that bandwidth is predefined for each application and delays and temporal deviations have bounded limits.
BE messages follow the usual Ethernet policy and are transmitted in the remaining TT windows, using the interference avoidance mechanism described above. There is no guarantee whether and when these messages can be transmitted, what delays occur and if messages arrive at the recipient.
These three types of traffics are allocated with time slots according to a TDMA (Time Division Multiple Access) scheme that organizes the transmission multiplex in recurrent cycles subdivided into sub-cycles (base periods), as it can be seen on FIG. 2 which shows a TTEthernet flow scheduling. The time slots allocated to each traffic type correspond to a volume of data per base period and their (time) position is fixed over the whole network.
Packets are relayed according to a communication schedule defined a priori. Hence, as the local clocks are synchronized, the communication schedule is executed synchronously and contentions at the network are avoided. Time-triggered communication provides therefore strong temporal partitioning because the possibility that two or more communication participants access the network at the same point in time can be excluded by design.
In an effort to provide a framework for the support of TT traffics over standard Ethernet-based networks, the IEEE (802.1 TSN Work Group) is currently standardizing a transmission selection mechanism called “Time Aware Scheduler”. This specification is the object of an amendment of the 802.1Q standard which is called “802.1Qbv—Enhancements for Scheduled Traffic”. This transmission selection mechanism relies on transmission gates that are associated with each traffic class queue: a frame on a traffic class queue is not available for transmission if the transmission gate is in the closed state or if there is insufficient time available to transmit the entirety of that frame before the next gate-close event associated with that queue. A per-traffic class queue “queueMaxSDU” parameter defines the maximum service data unit size for each queue. Frames that exceed the maximum size for the queue are discarded.
A gate control list associated with each Port changes the transmission gate state for the gate associated with each Port's traffic class queues (#7, #6, . . . , #0—FIG. 3). In an implementation that does not support enhancements for scheduled traffic, all gates are assumed to be permanently in the open state. A state machine is in charge of controlling the transitions of the per-queue gate states as it can be seen on FIG. 3 which shows the principle of a transmission selection according to IEEE 802.1Qbv.
However, the introduction of a fixed schedule for the organization of the multiplex induces some unfairness in the access to the medium: frames of RC and BE flows can be inserted only in time slots long enough to include a whole frame, which length is nevertheless variable. This leads to additional (not always necessary) delay and jitter in the transmission of RC frames as well as waste of bandwidth on the link.
To solve this issue, IEEE 802.3br (amendment to 802.3: “Specification and Management Parameters for Interspersing Express Traffic”) defines a preemption mechanism of so-called “Normal-Frames” (frames with lower priority, typically RC and BE frames) that guarantees that no conflicts occurs when so-called “Express-Frames” (frames with guaranteed low latency, typically TT frames) are scheduled for transmission and resulting in no added latency for Express traffic.
This mechanism allows a MAC Client that has a schedule for Express traffic to preempt Normal-Frames before the scheduled Express traffic arrives (as it can be seen on FIG. 4 which shows Express and Normal traffics data paths). When a scheduled frame arrives, it can be transmitted immediately.
In addition, the 802.3br specification defines a per-hop fragmentation and reassembly scheme that allows stopping the transmission of a Normal-Frame to give a transmission opportunity to an Express-Frame. Normal-Frame fragments and Express-Frames are distinguished by their preamble length and a so-called “Start Frame Delimiter” (SFD) field as shown in FIG. 5 which is related to IEE 802.3br frame and fragment formats. This allows non-express frames (Normal-Frames) not to wait for a long enough timeslot to be transmitted, resulting in a limited added latency for Normal flows and a better use of the link capacity.
It is to be noted that only a single Normal-Frame can be fragmented at any time, i.e. a frame which transmission time span covers one or several TT windows. In FIG. 5, MFCS is the CRC (Cyclic Redundancy Check) of a non-final fragment. Here, its value is the same as the FCS (Frame Check Sequence) of the frame octets transmitted XOR FFFF0000. SMD-Ix indicates the beginning of a Normal-Frame, such as a first fragment of that frame (an initial fragment), while SMD-Cx indicates a non-initial fragment of that frame. For completeness of the explanations, MAC DA and MAC SA are respectively the destination and source MAC addresses. “Ethertype” means Ethernet type length filed. The upper part of FIG. 5 shows then no fragmented Express and Normal Frames, and its lower part shows successive fragments of a Normal Frame.
The minimum preempted fragment size is 64 bytes. Therefore a packet with a length less than 128 bytes cannot be preempted. Non-final fragments have a length multiple of 8 bytes.
However, the multiplexing mechanism described above does not guarantee:
a fair access to the medium to Normal-frames relatively to Express-frames,
a fair access to the medium to Normal-frames belonging to a given flow relative to other Normal flows,
that Normal-frames or fragments can be inserted in the multiplex during their allocated time slots according to IEEE 802.1Qbv,
that Normal-frames can be fragmented according to IEEE 802.3br.